Algoritmos y Estructura de Datos

Estructura y diseño de una LDE


Un tipo de lista enlazada que permite ir en ambas direcciones, hacia adelante y hacia atr.ás, en una lista enlazada. Esta es la lista doblemente enlazada. Tal lista permite una gran variedad de operaciones r.ápidas de actualizaci.ón, incluyendo la inserci.ón y el borrado en ambos extremos, y en el centro. Un nodo en una lista doblemente enlazada guarda dos referencias un enlace sig, el cual apunta al siguiente nodo en la lista, y un enlace prev, el cual apunta al nodo previo en la lista.

El almacenamiento con nexos en sólo un sentido tiene el problema de no permitir recorrido hacia atrás, pero si se agrega un segundo apuntador se puede lograr este objetivo. —Pero tienen el problema de requerir más espacio de memoria.La ventaja que proporciona esta estructura es la operación de búsqueda e inserción, recorriendo hacia atrás en forma inmediata. Una implementación de un nodo de una lista doblemente enlazada se muestra en el siguiente código, donde nuevamente se asume que los elementos son cadenas de caracteres.

                
  1. struct nodo {
  2. int dato;
  3. struct nodo *siguiente;
  4. struct nodo *anterior;
  5. };

Link de apoyo

  • Lista Doblemente enlazada en C++ - Video
  • Listas Doblemente Enlazadas